In recent years, nonvolatile memory, which is a semiconductor device that can rewrite data, has been widely used for many electronic devices such as mobile phone and digital cameras. A flash memory, which is a typical nonvolatile memory, includes a NOR-type flash memory and a NAND-type flash memory. The NOR-type flash memory is used to process a small amount of data such as a program at high speed, and the NAND-type flash memory is used to process a large amount of data such as an image.
Such nonvolatile memory can write data (writing operation) to a memory cell by accumulating charges (for example, electrons) to a charge accumulation layer of a transistor that forms the memory cell. The data of the memory cell at this time is set to “1”. Also, by erasing the charges from the charge accumulation layer, the data of the memory cell can be erased (erasing operation). The data of the memory cell at this time is set to “0”. The state of the charge at the charge accumulation layer can be detected by current and the data of the memory cell can be read out (reading operation) whether it is “0” or “1”. For example, a large amount of data may be erased all at once, for example, when data is erased in a unit of block. In this case, a considerable time is required for the erasing operation from start to end. Accordingly, when the erasing operation, the writing operation, or the reading operation is performed on a large amount of data, it takes a long time from the start of the operation to the end. Also, when miniaturization is advanced to realize high-capacity, operation time for writing and erasing tends to slow down. Thus, an improvement of some sort has been called for. Japanese Patent Application Publication No. JP-A-2004-30438 and U.S. Patent Application Publication No. 2005/0248993 disclose a technology of temporarily suspending an erasing operation, when a suspend command is input from an external circuit during the erasing operation.
However, when a suspend command is added anew, a new command needs to be added to the external circuit. In a system using an existing flash memory, commands that an external circuit (controller) handles for controlling flash memory are almost the same. As a result, it is difficult to add a new command.